//////////////////////////////////////////////
// File				:	Game.h
//
// Author			:	Nick Faletra (NF)
//
// Date Created		:	12/19/2013
//////////////////////////////////////////////
#ifndef _GAME_H_
#define _GAME_H_

#include "../Renderer/Renderer.h"

class CGame
{
	CRenderer*	m_pRenderer;

	bool m_bRunning;

	RECT m_rBackgroundSize;

	int m_nScreenWidth;
	int m_nScreenHeight;
	bool m_bWindowed;

public:
	CGame();
	CGame(const CGame&);
	CGame& operator=(const CGame&);
	~CGame();

	static CGame* GetInstance();

	void Initialize(HWND, HINSTANCE, int, int, bool);
	bool Main();
	void Shutdown();

	__forceinline bool GetRunning() const { return m_bRunning; }
	__forceinline void SetRunning(const bool bRunning) { m_bRunning = bRunning; }

	__forceinline int GetScreenWidth() const { return m_nScreenWidth; }
	__forceinline int GetScreenHeight() const { return m_nScreenHeight; }
	__forceinline RECT GetBackgroundSize() const { return m_rBackgroundSize; }
};

#endif // _GAME_H_